﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Arroguella.Entities
{
    /// <summary>
    /// Stairs define an environmental Entity that can transport the player Up or Down a level.
    /// They are not necessarily stairs; they can be ladders, ramps, etc.
    /// </summary>
    public abstract class Stairs : Entity
    {
        #region Constructor

        public Stairs(string name, char symbol, Color color, Direction direction)
            : base(name, symbol, color)
        {
            IsEnvironmental = true;
            IsVisible = true;
            IsBlocking = false;
            LevelDirection = direction;
        }

        #endregion

        #region Properties

        /// <summary>
        /// The direction the player will go relative to their current dungeon level.
        /// </summary>
        public Direction LevelDirection { get; set; }

        #endregion

        #region Direction

        /// <summary>
        /// The Direction in which the stairs travel.
        /// This is where the player will go relative to their current level.
        /// </summary>
        public enum Direction { None, Up, Down };

        #endregion
    }
}
